package mp.weixin.WXpublic.send;


import mp.weixin.WXpublic.BaseReceiveMessage;
import mp.weixin.WXpublic.BaseSendMessage;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;


public class SImageEntity extends BaseSendMessage {

    private String mediaId;

    public SImageEntity(BaseReceiveMessage brm, String mediaId) {
        super(brm);
        this.mediaId = mediaId;
    }

    public String getMediaId() {
        return mediaId;
    }

    public void setMediaId(String mediaId) {
        this.mediaId = mediaId;
    }

    @Override
    public SendTypeEnum getMsgType() {
        // TODO Auto-generated method stub
        return SendTypeEnum.IMAGE;
    }

    @Override
    public String toWeiXinMessageXMLString() {
        /**
         * <xml>
         * <ToUserName><![CDATA[toUser]]></ToUserName>
         * <FromUserName><![CDATA[fromUser]]></FromUserName>
         * <CreateTime>12345678</CreateTime>
         * <MsgType><![CDATA[image]]></MsgType>
         * <Image>
         * <MediaId><![CDATA[media_id]]></MediaId>
         * </Image>
         * </xml>
         */
//    	StringBuilder xmlStr = new StringBuilder();
//        xmlStr.append("<xml>");
//        xmlStr.append("<ToUserName><![CDATA[").append(this.getToUserName()).append("]]></ToUserName>");
//        xmlStr.append("<FromUserName><![CDATA[").append(this.getFromUserName()).append("]]></FromUserName>");
//        xmlStr.append("<CreateTime>").append(this.getCreateTime().getTime()).append("</CreateTime>");
//        xmlStr.append("<MsgType><![CDATA[").append(this.getMsgType().getType()).append("]]></MsgType>");
//        xmlStr.append("<Image>");
//        xmlStr.append("<MediaId><![CDATA[").append(this.getMediaId()).append("]]></MediaId>");
//        xmlStr.append("</Image>");
//        xmlStr.append("</xml>");
//        return xmlStr.toString();
        String returnStr = "";
        Document doc = DocumentHelper.createDocument();
        Element rootXML = doc.addElement("xml");
        rootXML.addElement("ToUserName").setText(this.getToUserName());
        rootXML.addElement("FromUserName").setText(this.getFromUserName());
        rootXML.addElement("CreateTime").setText(this.getCreateTime().getTime() + "");
        rootXML.addElement("MsgType").setText(this.getMsgType().getType());
        Element el = rootXML.addElement("Image");
        el.addElement("MediaId").setText(this.getMediaId());

        returnStr = rootXML.asXML();

        return returnStr;
    }
}
